草庐IT

Android TextView setText 覆盖之前的Text

全部标签

java - 在分配给 null 之前检查变量是否为 null?

与空检查相比,变量赋值是否昂贵?例如,是否值得在将foo赋值为null之前检查它是否不为null?if(foo!=null){foo=null;}或者这是什么都不担心? 最佳答案 这是一个微优化(并且可能由编译器处理)。别担心。通过专注于您的程序实际算法,您将获得更大的返回。Weshouldforgetaboutsmallefficiencies,sayabout97%ofthetime:prematureoptimizationistherootofallevil.--DonaldKnuth

java - 覆盖 Guice 中的绑定(bind)

我刚开始玩Guice,我能想到的一个用例是在测试中我只想覆盖单个绑定(bind)。我想我想使用其余的生产级别绑定(bind)来确保一切设置正确并避免重复。想象一下我有以下模块publicclassProductionModuleimplementsModule{publicvoidconfigure(Binderbinder){binder.bind(InterfaceA.class).to(ConcreteA.class);binder.bind(InterfaceB.class).to(ConcreteB.class);binder.bind(InterfaceC.class).t

java - Cobertura 显示错误的线路覆盖

我看到一份奇怪的cobertura报告。它说第89行(见屏幕截图)siteMapItems=getItemFromPage(navParentPage,0);执行了一次,但是这一行调用的方法(getItemFromPage)显示没有行覆盖。我还在该方法中添加了日志,我还看到在执行单元测试用例期间打印的日志。这个奇怪的报告可能是什么原因?这对我来说没有意义。 最佳答案 有时这种不同步问题是由于java文件和类文件不匹配引起的。检查cobertura是否正在扫描正确的类文件。 关于java-

java - 设计 - 在执行每个方法之前检查条件

我有一个名为Document.java的POJO,它有100多个成员变量。有一个转换层,我在其中获取所需的数据,对其进行转换并将其存储在Document类中。在转换层中,我想仅在满足特定条件(基于可用上下文)时才设置成员变量。所以它看起来像这样:if(shouldGetExecuted1(context.getXXX())){document.setField1(tranformDataForField1(availableData1));}if(shouldGetExecuted2(context.getXXX())){document.setField2(tranformDataF

java - 带有 Jacoco 插件的 build.gradle 不会为集成测试生成覆盖率报告

我有一个build.gradle文件,它可以单独或一起成功运行单元和集成测试(使用像gradletestintegrationTest这样的命令一起运行)。两者都使用Junit,我使用的是Gradle3,这不是Android项目。在单独的目录中为每个生成关于成功的报告。我还可以使用gradletestjacoco为unit测试覆盖率成功生成Jacoco报告。我无法通过使用gradleintegrationTestjacoco获得我的其他工作集成测试的覆盖率报告,尽管测试成功运行并生成了integrationTest.exec文件。更明确地说,我在build/reports/index.

java - 合并来自多个 Jenkins 作业的测试覆盖率和测试结果

背景:我们有一个用Java编写的相当大的RESTAPI,我们正在结合单元测试和功能测试对其进行测试。测试它时需要进行许多变体,特别是在功能级别。虽然单元测试位于树中,但功能测试位于单独的代码存储库中。我们目前使用Jacoco进行测试覆盖,使用TestNG运行我们的单元测试,但我相信我的问题的答案应该适用于其他工具组合。我们在Jenkins中有几个不同的工作,这些工作是由checkin主要项目触发的。其中包括运行Coverity等工具的作业以及几个不同的功能测试作业。这些作业由初始提交触发,在所有下游作业成功完成之前,初始提交不被视为“绿色”。问题:我们如何获取覆盖率报告(如Jacoco

java - SonarQube + Reports 中未显示的依赖模块中的聚合覆盖率或覆盖率由 Jacoco 生成

我正在运行jacoco插件来生成html、xml和jacoco.exec报告来衡量由我的testNg测试的代码的覆盖率测试。我在本地和Jenkins中成功生成了这些报告,我所有的单元测试结果都反射(reflect)在Sonar中,它向我展示了覆盖范围.我的jacoco.exec有模块和依赖模块的覆盖结果。我已经使用eclipse的eclemma插件验证了这一点。我没有在Sonar的依赖模块中获得覆盖结果。我做错了什么。我的插件是这样的org.jacocojacoco-maven-plugin0.7.7.201606060606prepare-agentreportprepare-pac

java - 在强制滚动到它之前检查屏幕上是否出现一行?

我正在使用SwingJTable,我想强制滚动到其中的特定行。这很简单,使用scrollRowToVisible(...),但我想先检查这一行在滚动到它之前在屏幕上是否已经可见,就好像它已经可见一样没有必要强制滚动。我该怎么做? 最佳答案 下面的链接指向一篇确定单元格是否可见的文章。您可以使用它-如果单元格可见,则该行可见。(当然,如果还存在水平滚动,则可能不是整行。)但是,我认为当单元格比视口(viewport)宽时,这会失败。为了处理这种情况,您更改测试以检查单元格边界的顶部/底部是否在视口(viewport)的垂直范围内,但忽

java - JDB——如何在运行程序之前获取方法列表?

我正在学习JDB并遇到了一些悖论。启动JDB(使用“jdbClassName”)后,大多数教程会告诉我输入>methodsClassName查看可用方法列表,以便我可以设置断点。如果我这样做,JDB回复Command'methods'isnotvaliduntiltheVMisstartedwiththe'run'command当然,如果我在设置任何断点之前说“运行”,它会直接运行;不是很有帮助。我唯一可以得出的结论是,jdb希望您盲目设置断点,但这似乎是一个严重的疏忽,我坚持认为我只是缺少一个命令。非常感谢!!乔伊斯 最佳答案 请

java - 如何从 Sublime Text 编辑器调试 Java 应用程序

有时我正在为相当大的Java应用程序做简单的修复,我不想为此任务打开Eclipse。Eclipse启动时间很长,并且由于该项目是由大量子项目构建而成的,而这些子项目无论如何都是由Maven构建的,因此在Eclipse可用之前需要很长时间(至少在不耐烦的Java开发人员规模中是这样)。几乎我需要的一切都可以在SublimeText编辑器中完成,但是Eclipse的亮点之一是调试器。我的工作流程是:进行修复,然后使用调试器测试它正在运行的应用程序(在服务器上),以检查是否一切正常。那么是否有任何Sublime插件或其他非IDE解决方案可以轻松调试Java应用程序。注:我看过thispost